#pragma once

#include "CoreMinimal.h"
#include "LRG_ViewerComponent.generated.h"

UCLASS(Blueprintable, ClassGroup=(LineReplicationGraph), meta=(BlueprintSpawnableComponent))
class LINEREPLICATIONGRAPH_API ULRG_ViewerComponent : public UActorComponent
{
	GENERATED_BODY()

protected:
	ULRG_ViewerComponent(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get() );
public:
	static ULRG_ViewerComponent* Get(AActor* Viewer);
public:
	UFUNCTION(BlueprintCallable)
	void RemoveVisibleLine(const FName& Line);
	UFUNCTION(BlueprintCallable)
	void AddVisibleLine(const FName& Line);
	UFUNCTION(BlueprintCallable)
	const TSet<FName>& GetVisibleLines() const {return VisibleLines;}
protected:
	UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
	TSet<FName> VisibleLines;
};